1. Technical Field
The present invention relates in general to network communication and, in particular, to the reservation of switch queue capacity in a communication network.
2. Description of the Related Art
As is known in the art, network communication is commonly premised on the well known seven layer Open Systems Interconnection (OSI) model, which defines the functions of various protocol layers while not specifying the layer protocols themselves. The seven layers, sometimes referred to herein as Layer 7 through Layer 1, are the application, presentation, session, transport, network, data link, and physical layers, respectively.
At a source station, data communication begins when data is received from a source process at the top (application) layer of the stack of functions. The data is sequentially formatted at each successively lower layer of the stack until a data frame of bits is obtained at the data link layer. Finally, at the physical layer, the data is transmitted in the form of electromagnetic signals toward a destination station via a network link. When received at the destination station, the transmitted data is passed up a corresponding stack of functions in the reverse order in which the data was processed at the source station, thus supplying the information to a receiving process at the destination station.
The principle of layered protocols, such as those supported by the OSI model, is that, while data traverses the model layers vertically, the layers at the source and destination stations interact in a peer-to-peer (i.e., Layer N to Layer N) manner, and the functions of each individual layer are performed without affecting the interface between the function of the individual layer and the protocol layers immediately above and below it. To achieve this effect, each layer of the protocol stack in the source station typically adds information (in the form of an encapsulated header) to the data generated by the sending process as the data descends the stack. At the destination station, these encapsulated headers are stripped off one-by-one as the frame propagates up the layers of the stack until the decapsulated data is delivered to the receiving process.
The physical network coupling the source and destination stations may include any number of network nodes interconnected by one or more wired or wireless network links. The network nodes commonly include hosts (e.g., server computers, client computers, mobile devices, etc.) that produce and consume network traffic, switches, and routers. Conventional network switches interconnect different network segments and process and forward data at the data link layer (Layer 2) of the OSI model. Switches typically provide at least basic bridge functions, including filtering data traffic by Layer 2 Media Access Control (MAC) address, learning the source MAC addresses of frames, and forwarding frames based upon destination MAC addresses. Routers, which interconnect different networks at the network (Layer 3) of the OSI model, typically implement network services such as route processing, path determination and path switching.
In conventional computer networks implementing layered communication protocols, reliability of data connections has been the province of higher layer protocols (i.e., Layer 4 and above). For example, if the capacity of a switch's ingress port to handle incoming data frames is overrun by the source station coupled to that ingress port, the switch silently discards the incoming frames that cannot be handled, and transport (Layer 4) and higher layer protocols are relied upon to detect packet loss and perform recovery operations, if necessary. If the data communication between the source and destination stations does not tolerate packet loss, the processing required to throttle the sending process at the source station and to recover and retransmit the lost packets can impose a significant computational burden on the network nodes supporting the data communication, and especially on the host of the source station.
In an attempt to reduce the computational burden on network nodes associated with packet recovery, the Internet Engineering Task Force developed the Resource Reservation Protocol (RSVP) described in IETF RFC 2205 and its extension, the RSVP-Traffic Engineering (TE) protocol described in IETF RFCs 3209 and 5151. RSVP and its extension RSVP-TE are transport layer (Layer 4) protocols that can be employed by either hosts or routers to reserve network layer resources across a network to enable delivery of integrated services by application data streams over the Internet at specific levels of quality of service (QoS).